package com.cskaoyan.javase.basic._9control._0break;

import java.util.concurrent.BrokenBarrierException;

/**
 * 概述：
 * break意为“打断，中断”，是常用的循环控制关键字。
 * 使用场景：
 * break并不仅仅能用在循环中，它在switch中也可以使用，break就有了两个使用场景：
 * switch语句中某个case分支，用于结束整个switch。
 * 循环语句中。
 * 注意：除开上面两种语境不能使用break，编译不通过
 *
 * 语义/作用：
 *
 * 针对break的使用场景不同，作用也是不同的：
 *
 * 在switch中使用，表示结束当前switch语句。
 * 在循环中使用，表示结束当前循环。
 *
 *
 * break在结束循环时,只能结束当前层次的循环,如果有嵌套循环,不能直接结束外层循环.
 * 如果真的希望能够结束外层for
 * 需要使用标签,label
 * 但是嵌套for不多见,标签的使用就更不多见的.
 * 实际开发中,除非迫不得已,不要使用标签.
 *
 * @since 10:04
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        /*for (int i = 0; i < 5; i++) {
            if ( i == 3){
                break;
            }
            System.out.println("hello world!");
        }*/
        label1:
        for (int i = 0; i < 5; i++) {
            label2:
            for (int j = 0; j < 4; j++) {
                if (j == 2) {
                    break label1;
                }
                System.out.print("#");
            }
            System.out.println();
        }
    }
}
